﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace SCM.Model
{
    /// <summary>
    /// 数据状态
    /// </summary>
    public enum DataStatusEnum
    {
        /// <summary>
        /// 草稿
        /// </summary>
        [Description("草稿")]
        [Display(Name = "草稿")]
        Draft = 100,

        /// <summary>
        /// 未生效
        /// </summary>
        [Description("未生效")]
        [Display(Name = "未生效")]
        Invalid = 200,

        /// <summary>
        /// 有效
        /// </summary>
        [Description("有效")]
        [Display(Name = "有效")]
        Valid = 400,

        /// <summary>
        /// 自定义
        /// </summary>
        [Description("自定义")]
        [Display(Name = "自定义")]
        Custom = 700,

        /// <summary>
        /// 禁用 
        /// </summary>
        [Description("禁用")]
        [Display(Name = "禁用")]
        Disable = 800,

        /// <summary>
        /// 删除
        /// </summary>
        [Description("删除")]
        [Display(Name = "删除")]
        Deleted = 900,
    }

    /// <summary>
    /// 绿色认证状态
    /// </summary>
    public enum GreenStatusEnum
    {
        /// <summary>
        /// 未认证
        /// </summary>
        [Description("未认证")]
        [Display(Name = "未认证")]
        Pending = 1,

        /// <summary>
        /// 已认证
        /// </summary>
        [Description("已认证")]
        [Display(Name = "已认证")]
        Approved = 2,

        /// <summary>
        /// 不合格
        /// </summary>
        [Description("不合格")]
        [Display(Name = "不合格")]
        Invalid = 3,

        /// <summary>
        /// 免认证
        /// </summary>
        [Description("免认证")]
        [Display(Name = "免认证")]
        Waived = 4,
    }

    /// <summary>
    /// RoHS声明状态
    /// </summary>
    public enum RoHSStatmentStatusEnum
    {
        /// <summary>
        /// 符合EU RoHS
        /// </summary>
        [Description("符合EU RoHS")]
        [Display(Name = "符合EU RoHS")]
        Ok = 1,

        /// <summary>
        /// 不符合EU RoHS
        /// </summary>
        [Description("不符合EU RoHS")]
        [Display(Name = "不符合EU RoHS")]
        Fail = 2,

        /// <summary>
        /// 符合(带豁免项)EU RoHS
        /// </summary>
        [Description("符合(带豁免项)EU RoHS")]
        [Display(Name = "符合(带豁免项)EU RoHS")]
        OkWithExemption = 3,

        /// <summary>
        /// 无相关信息-产品停产EU RoHS
        /// </summary>
        [Description("无相关信息-产品停产EU RoHS")]
        [Display(Name = "无相关信息-产品停产EU RoHS")]
        NoData = 4,
    }

    /// <summary>
    /// MCD 类型
    /// </summary>
    public enum MCDTypeEnum
    {
        /// <summary>
        /// 产品
        /// </summary>
        [Description("产品")]
        [Display(Name = "产品")]
        Product = 1,

        /// <summary>
        /// 零件
        /// </summary>
        [Description("零件")]
        [Display(Name = "零件")]
        Parts = 2,
    }

    /// <summary>
    /// 用户类型
    /// </summary>
    public enum UserTypeEnum
    {
        /// <summary>
        /// 超级管理员
        /// </summary>
        [Description("超级管理员")]
        [Display(Name = "超级管理员")]
        SuperAdmin = 1,

        /// <summary>
        /// 普通用户
        /// </summary>
        [Description("普通用户")]
        [Display(Name = "普通用户")]
        General = 2,
    }

    /// <summary>
    /// 供应商类型
    /// </summary>
    public enum SupplierTypeEnum
    {
        /// <summary>
        /// 机械
        /// </summary>
        [Description("机械")]
        [Display(Name = "机械")]
        Mechanical = 100,

        /// <summary>
        /// 电子
        /// </summary>
        [Description("电子")]
        [Display(Name = "电子")]
        Electron = 200,

        /// <summary>
        /// 包装
        /// </summary>
        [Description("包装")]
        [Display(Name = "包装")]
        Packing = 400,
    }

    /// <summary>
    /// 绿色AVL状态
    /// </summary>
    public enum GreenAVLStatusEnum
    {
        /// <summary>
        /// 批准
        /// </summary>
        [Description("批准")]
        [Display(Name = "批准")]
        Aproved = 1,

        /// <summary>
        /// 豁免
        /// </summary>
        [Description("豁免")]
        [Display(Name = "豁免")]
        Waived = 2,

        /// <summary>
        /// 初级
        /// </summary>
        [Description("初级")]
        [Display(Name = "初级")]
        Prelimary = 3,

        /// <summary>
        /// 不合格
        /// </summary>
        [Description("不合格")]
        [Display(Name = "不合格")]
        Disqualify = 4,
    }

    /// <summary>
    /// 使用状态
    /// </summary>
    public enum UseStatusEnum
    {
        /// <summary>
        /// 未注册
        /// </summary>
        [Description("未注册")]
        [Display(Name = "未注册")]
        UnRegister = 1,

        /// <summary>
        /// 使用中
        /// </summary>
        [Description("使用中")]
        [Display(Name = "使用中")]
        Using = 2,

        /// <summary>
        /// 过期
        /// </summary>
        [Description("过期")]
        [Display(Name = "过期")]
        Expired = 3,
    }

    /// <summary>
    /// 任务来源类型
    /// </summary>
    public enum TaskSourceTypeEnum
    {
        /// <summary>
        /// 供应商
        /// </summary>
        [Description("供应商")]
        [Display(Name = "供应商")]
        Supplier = 1,

        /// <summary>
        /// 客户
        /// </summary>
        [Description("客户")]
        [Display(Name = "客户")]
        Customer = 2,

        /// <summary>
        /// 内部
        /// </summary>
        [Description("内部")]
        [Display(Name = "内部")]
        Internal = 3,
    }

    /// <summary>
    /// 任务类别
    /// </summary>
    public enum TaskCategoryEnum
    {
        /// <summary>
        /// 绿色供应商认证
        /// </summary>
        [Description("绿色供应商认证")]
        [Display(Name = "绿色供应商认证")]
        GreenVendorQualifcation = 1,

        /// <summary>
        /// 绿色产品认证
        /// </summary>
        [Description("绿色产品认证")]
        [Display(Name = "绿色产品认证")]
        GreenProductsQualification = 2,

        /// <summary>
        /// 绿色产品维护
        /// </summary>
        [Description("绿色产品维护")]
        [Display(Name = "绿色产品维护")]
        GreenProductsMaintainance = 3,

        /// <summary>
        /// 质量CSR调查问卷
        /// </summary>
        [Description("质量CSR调查问卷")]
        [Display(Name = "质量CSR调查问卷")]
        QualityCSRSurvey = 4,
    }

    /// <summary>
    /// 任务状态
    /// </summary>
    public enum TaskStatusEnum
    {
        /// <summary>
        /// 待处理
        /// </summary>
        [Description("待处理")]
        [Display(Name = "待处理")]
        Pending = 1,

        /// <summary>
        /// 已批准
        /// </summary>
        [Description("已批准")]
        [Display(Name = "已批准")]
        Approved = 2,

        /// <summary>
        /// 已完成
        /// </summary>
        [Description("已完成")]
        [Display(Name = "已完成")]
        Finished = 3,
    }

    /// <summary>
    /// 测试报告结果状态
    /// </summary>
    public enum TestResultEnum
    {
        /// <summary>
        /// 通过
        /// </summary>
        [Description("通过")]
        [Display(Name = "通过")]
        Pass = 1,

        /// <summary>
        /// 未通过
        /// </summary>
        [Description("未通过")]
        [Display(Name = "未通过")]
        Fail = 2,
    }

    /// <summary>
    /// 任务审核状态
    /// </summary>
    public enum TaskReportStatusEnum
    {
        /// <summary>
        /// 无数据
        /// </summary>
        [Description("无数据")]
        [Display(Name = "无数据")]
        NoData = 100,

        /// <summary>
        /// 提交
        /// </summary>
        [Description("提交")]
        [Display(Name = "提交")]
        ToSubmit = 200,

        /// <summary>
        /// 待批准
        /// </summary>
        [Description("待批准")]
        [Display(Name = "待批准")]
        PendingApprove = 400,

        /// <summary>
        /// 已认可
        /// </summary>
        [Description("已认可")]
        [Display(Name = "已认可")]
        Approved = 700,

        /// <summary>
        /// 失效
        /// </summary>
        [Description("失效")]
        [Display(Name = "失效")]
        Expired = 800,
    }
}
